home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 22 / PC Actual CD 22.iso / SHARE / prog / visualj.exe / practica1.java < prev    next >
Encoding:
Java Source  |  1998-03-05  |  1.4 KB  |  59 lines

  1. import java.awt.Graphics;
  2. import java.awt.Color;
  3. import java.awt.Event;
  4. import java.awt.Point;
  5.  
  6. class Practica1 extends java.applet.Applet {
  7.  
  8.   Point inicios[] = new Point[100]; // puntos de inicio de lφneas
  9.   Point finales[] = new Point[100];  // puntos finales de lφneas
  10.   Point inicioactual;  // inicio de la lφnea actual
  11.   int nlineas = 0; // n·mero de lφneas
  12.   Point finalactual; // fin actual de la lφnea actual
  13.  
  14.   public void init() {
  15.     setBackground(Color.white);
  16.   }
  17.  
  18.   public boolean mouseDown(Event evt, int x, int y) {
  19.     inicioactual = new Point(x,y);
  20.  
  21.     return true;
  22.   }
  23.  
  24.   public boolean mouseUp(Event evt, int x, int y) {
  25.     nuevalinea(x,y);
  26.     return true;
  27.   }
  28.  
  29.   public boolean mouseDrag(Event evt, int x, int y) {
  30.     finalactual = new Point(x,y);
  31.     repaint();
  32.     return true;
  33.   }
  34.  
  35.   void nuevalinea(int x,int y) {
  36.  
  37.     inicios[nlineas] = inicioactual;
  38.     finales[nlineas] = new Point(x,y);
  39.     nlineas++;
  40.     finalactual = null;
  41.     repaint();
  42.   }
  43.  
  44.   public void paint(Graphics g) {
  45.  
  46.     // Dibuja las lφneas existentes
  47.     for (int i = 0; i < nlineas; i++) {
  48.       g.drawLine(inicios[i].x, inicios[i].y,
  49.          finales[i].x, finales[i].y);
  50.     }
  51.  
  52.     // Dibuja la lφnea actual
  53.  
  54.     g.setColor(Color.blue);
  55.     if (finalactual != null)
  56.       g.drawLine(inicioactual.x,inicioactual.y,finalactual.x,finalactual.y);
  57.   }
  58. }
  59.